home *** CD-ROM | disk | FTP | other *** search
- AS(1) Last changed: 1-28-99
-
-
- NNAAMMEE
- aass - SGI MIPSpro assembler
-
- SSYYNNOOPPSSIISS
- aass [--6644] [--ccpppp] [--DD_n_a_m_e==[[_d_e_f]]] [--EE] [--GG_n_u_m] [--gg[[_s_e_t_t_i_n_g]]]] [--hheellpp] [--II]
- [--kkeeeepp] [--nn3322] [--nnooccpppp] [--nnoonn__sshhaarreedd] [--oo3322] [--OO_l_e_v_e_l] [--oo _o_u_t_p_u_t]
- [--PP] [--sshhooww] [--UU_n_a_m_e] [--wwooffff aallll] _f_i_l_e ...
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- DDEESSCCRRIIPPTTIIOONN
- The MIPSpro assembler, aass, compiles a symbolic assembly language
- source program and produces an object file in eellff format. The
- assembler supports three different Application Binary Interfaces
- controlled by the following options: --oo3322, --nn3322, and --6644 (see the
- aabbii(5) man page). The assembler never runs the loader.
-
- aass defines the following preprocessor symbols:
-
- __LLAANNGGUUAAGGEE__AASSSSEEMMBBLLYY ____ssggii, ____mmiippss,
-
- ____hhoosstt__mmiippss ____uunniixx, __MMIIPPSSEEBB,
-
- __SSYYSSTTYYPPEE__SSVVRR44 __SSVVRR44__SSOOUURRCCEE
-
- __SSGGII__SSOOUURRCCEE, __MMIIPPSS__IISSAA
-
- __MMIIPPSS__SSIIMM __MMIIPPSS__FFPPSSEETT,
-
- __MMIIPPSS__SSZZIINNTT __MMIIPPSS__SSZZLLOONNGG
-
- __MMIIPPSS__SSZZPPTTRR
-
- These are displayed by specifying the --sshhooww option on the compiler
- command line.
-
- See the lldd(1) man page for load-time options.
-
- IISSAA//AABBII CCOOMMMMAANNDD LLIINNEE OOPPTTIIOONNSS
- The following options control the choice of ABI and Instruction Set
- Architecture (ISA).
-
- --oo3322 or --3322 Generate a 32-bit object. This defaults to --mmiippss22 if
- --mmiippss11 is not specified. This is the default when
- compiling on any non-R8000 based system, if no default
- specification file is present. See the oo3322(5) man page
- for details.
-
- --6644 Generate a 64-bit object. This defaults to --mmiippss44 if
- --mmiippss33 is not specified. This is the default when
- compiling on any R8000 based system, if no default
- specification file is present. See the Defaults
- Specification Files subsection at the end of this man
- page for details.
-
- --nn3322 Generate an nn3322 object. This defaults to --mmiippss33 if
- --mmiippss44 is not specified.
-
- --mmiippss_n Determine architecture type. _n can be one of the
- following values:
-
- 11 Generate code using the instruction set of the
- R2000/R3000 RISC architecture, and search for
- mmiippss11 libraries/objects at link time. This
- defaults to --oo3322..
-
- 22 Generate code using the MIPS II instruction set
- (MIPS I + R4000 specific extensions), and search
- for mmiippss22 libraries/objects at link time. This
- defaults to --oo3322..
-
- 33 Generate code using the full MIPS III (e.g. R4000)
- instruction set, and search for mmiippss33
- libraries/objects at link time. This defaults to
- --nn3322 if --6644 has not been specified. On R8000-
- based systems this defaults to --6644.
-
- 44 Generate code using the full MIPS IV instruction
- set which is supported on R10000, R5000 and R8000
- systems. Also search for mmiippss44 libraries/objects
- at link time. This is the default on R8000
- systems. This defaults to --nn3322 if --6644 is not
- specified. On R8000-based systems it defaults to
- --6644.
-
- OOPPTTIIOONN DDEESSCCRRIIPPTTIIOONNSS
- The following options are valid with this command:
-
- --ccpppp Run the C macro preprocessor on assembly source files
- before compiling. This is the default.
-
- --DD_n_a_m_e==[[_d_e_f]] or --DD_n_a_m_e
- Define the _n_a_m_e to the C macro preprocessor, as if by
- ##ddeeffiinnee. If no definition is given, the name is
- defined as 11.
-
- --EE Run only the C macro preprocessor on the specified
- assembly source files, and send the result to standard
- output.
-
- --GG_n_u_m Specify the maximum size, in bytes, of a data item that
- is to be accessed from the global pointer. _n_u_m must be
- a decimal number.
-
- If _n_u_m is zero, no data is accessed from the global
- pointer. For --6644 and --nn3322, the default value for _n_u_m
- is 8 bytes. For --oo3322 the default value for _n_u_m is 0.
-
- --gg[[_s_e_t_t_i_n_g]] Produce symbol table information. If _s_e_t_t_i_n_g is 0, the
- assembler does not produce symbol table information for
- symbolic debugging. If no value is given for _s_e_t_t_i_n_g,
- the assembler produces additional symbol table
- information for full symbolic debugging. This is the
- default.
-
- --hheellpp List all the available options. This does not run the
- assembler. nn3322 or 6644 only.
-
- --II[[_d_i_r]] Determine searching options for iinncclluuddee files. Using
- --II without an argument disables searching for ##iinncclluuddee
- files in the standard directory ( //uussrr//iinncclluuddee ).
-
- Using --II _d_i_r allows you to specify a directory for
- searching.
-
- ##iinncclluuddee files whose names do not begin with // are
- always sought first in the directory of the _f_i_l_e
- argument, then in directories specified in --II options,
- and finally in the standard directory (//uussrr//iinncclluuddee).
-
- --kkeeeepp Build intermediate compilation files named after the
- corresponding source files, with the suffix replaced by
- one that is appropriate for the type of intermediate
- file (for example, ..ii indicates preprocessed source).
- These intermediate files are never removed.
-
- --nnooccpppp Do not run the C macro preprocessor on assembly source
- before compiling.
-
- --nnoonn__sshhaarreedd Do not generate position-independent code (PIC).
-
- --OO_l_e_v_e_l Sets the optimization level. _l_e_v_e_l can be one of the
- following values:
-
- 00 Turn off all optimizations. This is the default
- for --6644 and --nn3322.
-
- 11 Turn on all optimizations that can be done easily.
- This is the default for --oo3322..
-
- 22 Turn on all optimizations. For --6644 or --nn3322, this
- means scheduling the code; for --oo3322, this means
- more aggressive optimizations.
-
- Specifying --OO with no options is equivalent to
- specifying --OO22.
-
- --oo _o_u_t_p_u_t Name the final output file _o_u_t_p_u_t. If this option is
- not specified, the output file is the input file name
- with a ..oo suffix rather than the ..ss suffix.
-
- --PP Run only the C macro preprocessor and put the result
- for each ..ss file in a corresponding ..ii file. The ..ii
- file has no ## lines in it.
-
- --sshhooww Print the passes as they execute with their arguments
- and their input and output files.
-
- --UU_n_a_m_e Remove any initial definition of _n_a_m_e.
-
- --wwooffff aallll Suppress all warning messages. nn3322 or 6644 only.
-
- CCOOMMPPIILLEERR DDEEVVEELLOOPPMMEENNTT OOPPTTIIOONNSS
- The following options aid compiler development and are not generally
- used:
-
- --ffuullllaassoopptt oo3322 only. Enable all the global optimizations done by
- the assembler. The assembler can perform several global
- optimizations that are enabled automatically for high
- level languages like C, Pascal and Fortran. These
- optimizations are turned off by default while compiling
- an assembly language source file. This is done because
- the optimizations rely on the procedure calling
- convention to be strictly followed. Several assembly
- language programs violate these restrictions. The
- --ffuullllaassoopptt option allows enabling of these
- optimizations for ..ss files.
-
- --HH_c oo3322 only. Halt compiling after the pass specified by
- the character _c, producing an intermediate file for the
- next pass. _c can have the value [[ aa ]].. It selects the
- assembler pass in the same way as the --tt option. If
- this option is used, the symbol table file produced and
- used by the passes is the last component of the source
- file with the suffix changed to ..TT and is not removed.
- This switch is non-standard and may not be supported
- across product lines.
-
- --KKPPIICC Activates the assembler directives for generating
- position-independent code (PIC). For programs
- assembled with the --nn3322 and --6644 options, see _T_h_e
- _M_I_P_S_p_r_o _6_4-_B_i_t _P_o_r_t_i_n_g _a_n_d _T_r_a_n_s_i_t_i_o_n _G_u_i_d_e for more
- information. For codes compiled with the --oo3322 option,
- see the _M_I_P_S_p_r_o _A_s_s_e_m_b_l_y _L_a_n_g_u_a_g_e _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e.
-
- --WW_c,,_a_r_g_1[[,,_a_r_g_2......]]
- nn3322 or 6644 only. Pass the _a_r_g_1 value(s) to the assembler
- pass designated by _c. _c can have a value of pp, aa, or bb
- (see the information in the --tt option in "Naming
- Options", below).
-
- Several options affect the various optimizations done
- by the assembler. Some of these assembler optimizations
- are new and may have problems during compilation:
-
- --WWbb,,--nnooxxbbbb
- Turn off cross basic block instruction scheduling.
-
- --WWbb,,--nnooppeeeepp
- Turn off peephole optimizations.
-
- --WWbb,,--nnoosswwppiippee
- Turn off software pipelining.
-
- --WWbb,,--nnoossyymmrreeggss
- Turn off symbolic register renaming.
-
- These global optimizations are enabled only when
- optimization level --OO22 or higher is selected for high
- level languages or the --ffuullllaassoopptt option is used for
- assembly language files.
-
- If the TTMMPPDDIIRR environment variable is set, the value is
- used as the directory to place any temporary files
- rather than the default directory, //ttmmpp.
-
- --YYaa,,_d_i_r_e_c_t_o_r_y nn3322 or 6644 only. Use the aassmm pass from the given
- _d_i_r_e_c_t_o_r_y.
-
- NNaammiinngg OOppttiioonnss
- The --tt[[_c_h_a_r]], --hh_p_a_t_h, and --BB_s_t_r_i_n_g options select a name to use for a
- particular pass. These arguments are processed from left to right so
- their order is significant.
-
- When the --BB option is encountered, the selection of names takes place
- using the last --hh and --tt options.
-
- These three options must be used together.
-
- --tt[[_c_h_a_r]] Select the names. The names selected are those
- designated by a combination of _c_h_a_rs. _c_h_a_r can be any
- of the following:
-
- NNaammee _c_h_a_r vvaalluueess
-
- iinncclluuddee hh
-
- ccpppp pp
-
- aass00 aa
-
- aass11 bb
-
- If hh is in the --tt argument, a directory is added to the
- list of directories to be used in searching for
- ##iinncclluuddee files. This directory name has the form
- //uussrr//iinncclluuddee//_s_t_r_i_n_g. This directory contains the
- include files for the _s_t_r_i_n_g release of the compiler.
- The standard directory is still searched.
-
- --hh_p_a_t_h Use _p_a_t_h rather than the directory where the name is
- normally found. This switch is non-standard and may
- not be supported across product lines.
-
- --BB_s_t_r_i_n_g Append _s_t_r_i_n_g to all names specified by the --tt option.
- If no --tt option has been processed before the --BB,, the
- --tt option is assumed to be hhppaabb. This list designates
- all names.
-
- NNOOTTEESS
- The SSGGII__AABBII environment variable can change the default ABI behavior
- to be --oo3322, --nn3322, or --6644; see ggeettaabbii(3c) for details. Also, the
- //eettcc//ccoommppiilleerr..ddeeffaauullttss file can be used to change default behavior.
- See the cccc(1) man page for more information.
-
- The CCOOMMPP__TTAARRGGEETT__RROOOOTT, TTOOOOLLRROOOOTT, RRLLSS__IIDD__OOBBJJEECCTT environment variables
- are used by aass while compiling the compiler itself. Their meaning is
- left undefined intentionally. They should not be set in your
- environment.
-
- FFIILLEESS
- * All ABIs:
-
- ffiillee..oo object file output
-
- //uussrr//iinncclluuddee standard ##iinncclluuddee file directory
-
- * The following files are for --oo3322 only:
-
- //ttmmpp//ccttmm** temporary files
-
- //uussrr//lliibb//ccpppp C macro preprocessor
-
- //uussrr//lliibb//aass00 symbolic assembly language translator
-
- //uussrr//lliibb//aass11 binary assembler and reorganizer
-
- * The following files are for --nn3322 and --6644 only:
-
- //ttmmpp//ccmmppllrr** temporary files
-
- //uussrr//lliibb3322//ccmmppllrrss//ccpppp C macro preprocessor
-
- //uussrr//lliibb3322//ccmmppllrrss//aassmm symbolic assembler
-
- BBUUGGSS
- The assembler attempts to continue after finding semantic errors.
- This may result in internal errors.
-
- SSEEEE AALLSSOO
- cccc(1), wwhhaatt(1)
-
- ggeettaabbii(3c)
-
- _M_I_P_S_p_r_o _A_s_s_e_m_b_l_y _L_a_n_g_u_a_g_e _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e
-
- _M_I_P_S_p_r_o _N_3_2 _A_B_I _H_a_n_d_b_o_o_k
-
- _M_I_P_S_p_r_o _6_4-_b_i_t _P_o_r_t_i_n_g _a_n_d _T_r_a_n_s_i_t_i_o_n _G_u_i_d_e
-
-
- This man page is available only online.
-